package com.ingenio.servlet;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.json.JSONArray;
import org.json.JSONObject;

import com.ingenio.business.DetalleMovimiento;
import com.ingenio.business.Pedido;
import com.ingenio.dao.ControlCalidadAdapter;
import com.ingenio.dao.PedidoAdapter;

/**
 * Servlet implementation class ObtenerPedidoServlet
 */
@WebServlet("/ObtenerMercaderiaControlCalidad")
public class ObtenerMercaderiaControlCalidadServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ObtenerMercaderiaControlCalidadServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		try {
			JSONObject json = new JSONObject();
			Pedido p = null;
			if(request.getParameter("idPedido") != "" ){
				PedidoAdapter pa = new PedidoAdapter();
				Integer id = Integer.parseInt(request.getParameter("idPedido"));
				p = pa.devolverPedido(id);
			}
			ControlCalidadAdapter cca = new ControlCalidadAdapter();
			List<DetalleMovimiento> listaPendientesQ = new ArrayList<DetalleMovimiento>();
			if(p==null){	 
				listaPendientesQ = cca.devolverPedidosPendienteControl(null);
			}else{
				listaPendientesQ = cca.devolverPedidosPendienteControl(p);
			}
			JSONArray jaPendientes = new JSONArray();
			for(DetalleMovimiento dm: listaPendientesQ){
				JSONObject detalle = new JSONObject();
				detalle.put("idPedido", dm.getMovimiento().getPedido().getIdPedido());
				detalle.put("fechaPedido", dm.getMovimiento().getPedido().getFechaPedido());
				detalle.put("idProducto", dm.getProducto().getIdProducto());
				detalle.put("idMovimiento", dm.getMovimiento().getIdMovimiento());
				detalle.put("descProducto", dm.getProducto().getDescProducto());
				detalle.put("fechaRecepcion", dm.getMovimiento().getFechaMovimiento());
				detalle.put("cantidad", dm.getCantidadMov());
				jaPendientes.put(detalle);
			}
			json.put("detallesPendientesQ", jaPendientes);
			response.setContentType("application/json");
			response.getWriter().write(json.toString());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
